home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / tbicon / tbicon.frm < prev    next >
Text File  |  1996-04-04  |  3KB  |  111 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Form1"
  4.    ClientHeight    =   1335
  5.    ClientLeft      =   1515
  6.    ClientTop       =   4560
  7.    ClientWidth     =   2700
  8.    Height          =   2025
  9.    Icon            =   "TBIcon.frx":0000
  10.    Left            =   1455
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   1335
  13.    ScaleWidth      =   2700
  14.    ShowInTaskbar   =   0   'False
  15.    Top             =   3930
  16.    Visible         =   0   'False
  17.    Width           =   2820
  18.    Begin VB.PictureBox pichook 
  19.       Height          =   555
  20.       Left            =   540
  21.       ScaleHeight     =   495
  22.       ScaleWidth      =   795
  23.       TabIndex        =   0
  24.       Top             =   480
  25.       Width           =   855
  26.    End
  27.    Begin VB.Menu mnuBar 
  28.       Caption         =   "PopupMenu"
  29.       Begin VB.Menu mnuMain 
  30.          Caption         =   "Quit"
  31.          Index           =   0
  32.       End
  33.    End
  34. End
  35. Attribute VB_Name = "Form1"
  36. Attribute VB_Creatable = False
  37. Attribute VB_Exposed = False
  38. Option Explicit
  39.  
  40. Private Type NOTIFYICONDATA
  41.     cbSize As Long
  42.     hWnd As Long
  43.     uId As Long
  44.     uFlags As Long
  45.     ucallbackMessage As Long
  46.     hIcon As Long
  47.     szTip As String * 64
  48. End Type
  49.  
  50. Private Const NIM_ADD = &H0
  51. Private Const NIM_MODIFY = &H1
  52. Private Const NIM_DELETE = &H2
  53. Private Const WM_MOUSEMOVE = &H200
  54. Private Const NIF_MESSAGE = &H1
  55. Private Const NIF_ICON = &H2
  56. Private Const NIF_TIP = &H4
  57.  
  58. Private Const WM_LBUTTONDBLCLK = &H203
  59. Private Const WM_LBUTTONDOWN = &H201
  60. Private Const WM_LBUTTONUP = &H202
  61. Private Const WM_RBUTTONDBLCLK = &H206
  62. Private Const WM_RBUTTONDOWN = &H204
  63. Private Const WM_RBUTTONUP = &H205
  64.  
  65. Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
  66. Dim t As NOTIFYICONDATA
  67.  
  68. Private Sub Form_Load()
  69.     t.cbSize = Len(t)
  70.     t.hWnd = pichook.hWnd
  71.     t.uId = 1&
  72.     t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
  73.     t.ucallbackMessage = WM_MOUSEMOVE
  74.     t.hIcon = Me.Icon
  75.     t.szTip = "Shell_NotifyIcon ..." & Chr$(0)
  76.     Shell_NotifyIcon NIM_ADD, t
  77.     Me.Hide
  78.     App.TaskVisible = False
  79. End Sub
  80.  
  81. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  82.     t.cbSize = Len(t)
  83.     t.hWnd = pichook.hWnd
  84.     t.uId = 1&
  85.     Shell_NotifyIcon NIM_DELETE, t
  86. End Sub
  87.  
  88.  
  89. Private Sub mnuMain_Click(Index As Integer)
  90.     Unload Me
  91. End Sub
  92.  
  93. Private Sub pichook_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  94.     Static rec As Boolean, msg As Long
  95.     msg = X / Screen.TwipsPerPixelX
  96.     If rec = False Then
  97.         rec = True
  98.         Select Case msg
  99.             Case WM_LBUTTONDBLCLK:
  100.                 MsgBox "Double click !"
  101.             Case WM_LBUTTONDOWN:
  102.             Case WM_LBUTTONUP:
  103.             Case WM_RBUTTONDBLCLK:
  104.             Case WM_RBUTTONDOWN:
  105.             Case WM_RBUTTONUP:
  106.                 Me.PopupMenu mnuBar
  107.         End Select
  108.         rec = False
  109.     End If
  110. End Sub
  111.